package day13;

import java.util.*;

/**
 * List集合学习
 */
public class ListStudy {

    public static void main(String[] args) {

        System.out.println(10000000/32);
        System.out.println(312500*32);

        init4();

        System.out.println("%%%%%%%%%%%%%%%");

        System.out.println(init().containsAll(init2()));

        List<Map<String ,Object>> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            Map<String,Object> map = new HashMap<>();
//            map.put(i+"","hello");
            map.put(i+"l","sky");
            list.add(map);
        }
        for (Map<String ,Object> map:list) {
            if(map.get("1l")==null){
//                System.out.println(map);
            }
//            System.out.println(map);
        }

        // Iterator只能单向移动，指针指向下一个
        // Iterator.remove()是唯一安全的方式来在迭代过程中修改集合；
        // 如果在迭代过程中以任何其它的方式修改了基本集合将会产生未知的行为。
        // 而且每调用一次next()方法，remove()方法只能被调用一次，如果违反这个规则将抛出一个异常。
        Iterator<Map<String, Object>> iterator = list.iterator();
        while (iterator.hasNext()){
            Map<String, Object> map = iterator.next();
            if(map.get("1l")!=null){
                iterator.remove();
                System.out.println("删除的元素："+map);
            }
            System.out.println("还剩下："+map);
            System.out.println(iterator.next());
        }

    }


    public static List<Integer> init() {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        return list;
    }


    public static List<Integer> init2() {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        return list;
    }


    public static void init4() {
        int[] arr={1,3,2,45,65,33,12};
        for (int i = 0; i <arr.length ; i++) {

            int k =i;

            for (int j = k+1; j <arr.length ; j++) {

                if(arr[j]>arr[k]){
                    k=j;
                }
            }

            if(i != k){  //交换a[i]和a[k]
                int temp = arr[i];
                arr[i] = arr[k];
                arr[k] = temp;
            }

        }
        for(int num:arr){
            System.out.print(num+" ");
        }
    }



}
